home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / front.lha / front / m2c / TokenTab.h < prev    next >
C/C++ Source or Header  |  1992-08-18  |  2KB  |  52 lines

  1. #define DEFINITION_TokenTab
  2.  
  3. #ifndef DEFINITION_Strings
  4. #include "Strings.h"
  5. #endif
  6.  
  7. #ifndef DEFINITION_Idents
  8. #include "Idents.h"
  9. #endif
  10.  
  11. #ifndef DEFINITION_Positions
  12. #include "Positions.h"
  13. #endif
  14.  
  15. #define TokenTab_MINTerm    0
  16. #define TokenTab_cMAXTerm    1000
  17. #define TokenTab_MINNonTerm    (TokenTab_cMAXTerm + 1)
  18. #define TokenTab_cMAXNonTerm    2500
  19. #define TokenTab_EndOfToken    0
  20. extern SHORTCARD TokenTab_MAXTerm;
  21. extern SHORTCARD TokenTab_MAXNonTerm;
  22. typedef Positions_tPosition TokenTab_PosType;
  23. #define TokenTab_Term    0
  24. #define TokenTab_NonTerm    1
  25. #define TokenTab_None    2
  26. typedef unsigned char TokenTab_TokenType;
  27. typedef SHORTCARD TokenTab_NonTerminal;
  28. typedef SHORTCARD TokenTab_Vocabulary;
  29. typedef SHORTCARD TokenTab_Terminal;
  30. typedef SHORTCARD TokenTab_Prio;
  31. #define TokenTab_NoError    0
  32. #define TokenTab_SymbolExists    1
  33. #define TokenTab_CodeExists    2
  34. #define TokenTab_OutOfRange    3
  35. #define TokenTab_NotExists    4
  36. #define TokenTab_NoIntCode    5
  37. #define TokenTab_NotTerm    6
  38. typedef unsigned char TokenTab_TokenError;
  39. extern void TokenTab_MakeTerm ARGS((Idents_tIdent sym, TokenTab_Terminal *ter, TokenTab_TokenError *Error, TokenTab_PosType pos));
  40. extern void TokenTab_MakeDefTerm ARGS((Idents_tIdent *sym, TokenTab_TokenError *Error, TokenTab_PosType pos));
  41. extern void TokenTab_CompleteDefTerm ARGS((Idents_tIdent sym, TokenTab_TokenError *Error));
  42. extern TokenTab_Vocabulary TokenTab_MakeVoc ARGS((Idents_tIdent sym, TokenTab_PosType symPos));
  43. extern void TokenTab_SetNontermPos ARGS((Idents_tIdent sym, TokenTab_PosType pos));
  44. extern TokenTab_TokenType TokenTab_GetTokenType ARGS((TokenTab_Vocabulary voc));
  45. extern TokenTab_Vocabulary TokenTab_SymbolToToken ARGS((Idents_tIdent sym, TokenTab_TokenError *Error));
  46. extern Idents_tIdent TokenTab_TokenToSymbol ARGS((TokenTab_Vocabulary voc, TokenTab_TokenError *Error));
  47. extern void TokenTab_GetTokenPos ARGS((TokenTab_Vocabulary voc, TokenTab_PosType *pos));
  48. extern void TokenTab_PutPrio ARGS((TokenTab_Vocabulary voc, TokenTab_Prio p));
  49. extern TokenTab_Prio TokenTab_GetPrio ARGS((TokenTab_Vocabulary voc));
  50. extern void TokenTab_InitTokenTable ARGS(());
  51. extern void BEGIN_TokenTab();
  52.